This invention relates to an information processing apparatus and method, particularly an information processing apparatus and method having a parallel control mechanism suited to an interactive cooperative-type application, by way of example.
Parallel control in transaction processing is carried out in accordance with a two-phase lock. This control is employed widely as means for separating a plurality of transactions and assuring coherent scheduling. Furthermore, in order to assure coherence even in recovery processing at the time of failure, it is common for lock release processing in a two-phase lock to be executed attendant upon commit processing following the transaction.
However, problems are encountered in the art described above.
Specifically, recent computer systems generally provide an interactive operating environment using a multiple-window system. A desirable application in a multiple-window system is one which updates data interactively while presenting a versatile display of data shared using a database.
In the art described above, however, a problem arises in a case where a certain application applies updating processing to a plurality of shared data. The problem is that while update content regarding certain shared data is being committed, an operation through which updating processing continues to be applied to other shared data or through which update content is canceled is inhibited. This imposes a major restriction upon the realization of an interactive operating environment with regard to shared data having a complicated structure.
The effective canceling of update content with regard to some shared data while the update content regarding some shared data is being committed is not necessarily impossible using the art described above.
For example, in a transaction, the content of data is saved before data update processing is started, and processing for invalidating the update content is executed based upon the content saved, thereby making it possible to cancel the update content effectively when the transaction is completed. With this method, however, it is required to save the content of all shared data that is the object of data updating. This means that a decline in efficiency is unavoidable. Further, in a database management system, there are occasions where updating of a time stamp relating to a commitment or activation of a daemon procedure is carried out. Since these are unrelated to the effective canceling of update content, they can be undesirable side-effects in certain circumstances.
Further, though continuing the updating processing of some shared data while update content regarding other shared data is being committed can be said to be impose a severe restriction, it also is not necessarily impossible.
For example, in a computer system in which multitasking is possible, the above-mentioned restriction is not imposed upon a series of transactions activated independently task by task, and therefore it is possible to execute selective commit processing over a wide range which includes the realization of an interactive operating environment with regard to shared data having a complicated structure. With this method, however, the load upon the operating system or the database management system generally increases as the number of tasks increases, and greater labor is required for application development.
Furthermore, since a method utilizing multitasking processing divides an application, which originally runs as a whole, into a plurality of tasks, it is required that tasks be linked by communication means between the tasks. Since inter-task communication means generally is independent of a transaction, the application developer must exclude the possibility that the coherence of the transaction will be lost by communication dependent upon the content of shared data. However, this is extremely difficult and results in applications that are greatly wanting in terms of extendibility and maintenance.